Software application designs are initially ideas as to what is to be achieved by the software application, and how the software application user interface will appear. A designer will use the idea to create a user interface mockup. The mockup created by the designer can include one or more user interface page(s) sketched by the designer, an image editing application rendering of user interface page(s), or other types of static designs created by a designer. The rendering, however, is static and not functional because it cannot be tested by a user navigating between pages, selecting elements, entering data, etc.
In order to transform the static design into a functioning design, a software developer takes the rendered or sketched user interface page(s), and writes software code to create an implementation of the application design. Based on testing and/or other user feedback, the designer may decide to change one or more elements in the original design, or may decide to change the design all together. The software developer must then re-code one or more elements of the functional version of the application. This process becomes time consuming and expensive as multiple revisions are made throughout an application's design. Furthermore, the ultimate design may not be optimal with respect to achieving its original purpose.